This invention is implemented on a general purpose computer comprising a processor, memory and associated support hardware (FIG. 1d). All algorithms, methods, systems and processes described within this specification execute on this hardware.
This invention extends the invention of U.S. Pat. No. 8,713,515 by developing the machinery for fully automating the generation of specific large grain relationships between composite types and their instances within one design context and corresponding types and their instances within a different design context, and then using those large grain relationships to redesign instances of code from one design context into equivalent code for a different design context. This invention defines how to implicitly specify a plurality of separate but similar concrete large grain relationships between design contexts via a singular set of parameterized simultaneous type equations plus one or more type difference transformations that provide supplementary, elective relationships between types where the relationships between types are not pre-determined by the type constructors and the equations. Further, the invention also specifies the machinery for automatically solving those simultaneous type equations to produce type difference transformations implied by the type specifications. The full set of difference transformations can then be used to automatically redesign code from one design context to a different design context.